import PyInstaller.__main__
import os
import json

# 获取当前目录
current_dir = os.path.dirname(os.path.abspath(__file__))

# 确保配置文件存在
config_file = os.path.join(current_dir, 'token_configs.json')
if not os.path.exists(config_file):
    # 如果配置文件不存在，创建默认配置
    default_config = {
        "默认配置": {
            "res": "products/123456",
            "et": "1735689600",
            "key": "your_access_key",
            "method": "sha256",
            "version": "2018-10-31"
        }
    }
    with open(config_file, 'w', encoding='utf-8') as f:
        json.dump(default_config, f, ensure_ascii=False, indent=2)

# 运行打包命令
PyInstaller.__main__.run([
    'token_calculator_gui.py',  # 主程序文件
    '--name=OneNET-Token计算工具V3.1',  # 生成的exe名称
    '--windowed',  # 使用GUI模式
    '--onefile',  # 打包成单个文件
    '--clean',  # 清理临时文件
    f'--distpath={os.path.join(current_dir, "dist")}',  # 输出目录
    '--noconfirm',  # 覆盖现有文件
    # 添加配置文件，注意路径分隔符
    f'--add-data={config_file};.',  
]) 